const ejs = require('ejs');
const path = require('path');
const template = '<div>abc--<%= user.name %></div>';
const options = {};
const data = {
  user: {
    name: 'ysx'
  }
};

/*
* 用法一：
*   const compile = ejs.compile(template, options);
*   const result = compile(data);
*   const result2 = compile(data2); // 可复用
* */

/*
* 用法二：和一的区别是，无法复用template
*   const result = ejs.render(template, data, options);
*   console.log('result', result);
* */

// 直接编译文件, 如果不传人回调，那就会返回Promise
const result = ejs.renderFile(path.join(__dirname, 'test.html'), data, options);
result.then(result => {
  console.log('result', result);
});


// 改变默认的模板语法
ejs.delimiter = '?'; // 全局 $ 改成 ?

// 也可以局部改
ejs.renderFile(path.join(__dirname, 'test.html'), data, { delimiter: '?' });


// 自定义文件读取逻辑
ejs.fileLoader = filePath => {
  // 每个文件加个前缀
  return 'myFileLoader: ' + fs.readFileSync(filePath).toString();
};
